یک ابزار داریم (روی Rust) که توی چندتا بخش نیاز به پردازش یک سری header های درخواستی که میاد داره. یا مثلا بعضی جاها کاربر میتونه permission هارو باهاشون کار کنه و ...
همیشه خیلی سریع پردازش انجام میشد و تمام؛ دیروز یکی از مشتریها اعلام کرد که ابزار خیلی کند شده (برای یک سرور خاص البته) بعد از کلی بررسی متوجه شدم :
تعداد فایلهایی که روی این سرور دارند خیلی خیلی زیاد هست ولی چون حجم خیلی خیلی پایینی داره اکثرا و توی یک هارد کوچیک جا شده؛ مشتری توقع داره سرعت بالاتر باشه. نسبت به سروری که مثلا ۵۰۰ تا فایل ۱۰ گیگ داره.
حدودا ۳۲-۳۴٪ سرعت با تغییر operator های معمولی چک کردن هدر و پردازش permission, .... به Bitwise operator بدست اومد. گفتم یک مثال هم اینجا بزنم؛ فقط توی این مثال به چندتا چیز توجه کنید:
۱- زوج بودن عدد محاسبات سنگینی نداره هرچند؛ محاسبه باقیمانده از AND گرفتن سنگین تر هست.
۲- پایتون زبان سطح بالاس؛ محاسبه باقی مانده و AND سربارهای پایتونی داره که باعث میشه تفاوت کمتر بشه و CPython هم بسیار اپتیمایز شده هست.
۳- مثال خیلی ساده هست.
با این حال مفهوم رو آموزش میده و تفاوت اندک هم میشه دید.
یک ابزار داریم (روی Rust) که توی چندتا بخش نیاز به پردازش یک سری header های درخواستی که میاد داره. یا مثلا بعضی جاها کاربر میتونه permission هارو باهاشون کار کنه و ...
همیشه خیلی سریع پردازش انجام میشد و تمام؛ دیروز یکی از مشتریها اعلام کرد که ابزار خیلی کند شده (برای یک سرور خاص البته) بعد از کلی بررسی متوجه شدم :
تعداد فایلهایی که روی این سرور دارند خیلی خیلی زیاد هست ولی چون حجم خیلی خیلی پایینی داره اکثرا و توی یک هارد کوچیک جا شده؛ مشتری توقع داره سرعت بالاتر باشه. نسبت به سروری که مثلا ۵۰۰ تا فایل ۱۰ گیگ داره.
حدودا ۳۲-۳۴٪ سرعت با تغییر operator های معمولی چک کردن هدر و پردازش permission, .... به Bitwise operator بدست اومد. گفتم یک مثال هم اینجا بزنم؛ فقط توی این مثال به چندتا چیز توجه کنید:
۱- زوج بودن عدد محاسبات سنگینی نداره هرچند؛ محاسبه باقیمانده از AND گرفتن سنگین تر هست.
۲- پایتون زبان سطح بالاس؛ محاسبه باقی مانده و AND سربارهای پایتونی داره که باعث میشه تفاوت کمتر بشه و CPython هم بسیار اپتیمایز شده هست.
۳- مثال خیلی ساده هست.
با این حال مفهوم رو آموزش میده و تفاوت اندک هم میشه دید.
You can’t. What you can do, though, is use WhatsApp’s and Telegram’s web platforms to transfer stickers. It’s easy, but might take a while.Open WhatsApp in your browser, find a sticker you like in a chat, and right-click on it to save it as an image. The file won’t be a picture, though—it’s a webpage and will have a .webp extension. Don’t be scared, this is the way. Repeat this step to save as many stickers as you want.Then, open Telegram in your browser and go into your Saved messages chat. Just as you’d share a file with a friend, click the Share file button on the bottom left of the chat window (it looks like a dog-eared paper), and select the .webp files you downloaded. Click Open and you’ll see your stickers in your Saved messages chat. This is now your sticker depository. To use them, forward them as you would a message from one chat to the other: by clicking or long-pressing on the sticker, and then choosing Forward.
What Is Bitcoin?
Bitcoin is a decentralized digital currency that you can buy, sell and exchange directly, without an intermediary like a bank. Bitcoin’s creator, Satoshi Nakamoto, originally described the need for “an electronic payment system based on cryptographic proof instead of trust.” Each and every Bitcoin transaction that’s ever been made exists on a public ledger accessible to everyone, making transactions hard to reverse and difficult to fake. That’s by design: Core to their decentralized nature, Bitcoins aren’t backed by the government or any issuing institution, and there’s nothing to guarantee their value besides the proof baked in the heart of the system. “The reason why it’s worth money is simply because we, as people, decided it has value—same as gold,” says Anton Mozgovoy, co-founder & CEO of digital financial service company Holyheld.